/**
 * 文件名：@Validate.java <br/>
 * 包名：cn.efunbox.afw.core.annotation.mvc <br/>
 * 项目名：afw-core <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.core.annotation.mvc;

import cn.efunbox.afw.core.enums.Validator;

import java.lang.annotation.ElementType;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 类名：Validate  <br />
 *
 * 功能：校验注解
 *
 * @author xtwin <br />
 * 创建时间：2015年12月1日 下午5:20:47  <br />
 * @version 2015年12月1日
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Repeatable(ValidateGroup.class)
public @interface Validate {

	/**
	 * 功能：校验字段与校验规则复合定义 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午5:24:17 <br/>
	 */
	String[] value() default {};
	
	/**
	 * 功能：校验字段，只有在定义了校验字段之后，校验规则才有意义 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午5:23:51 <br/>
	 */
	String field() default "";
	
	/**
	 * 功能：校验规则 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午5:23:40 <br/>
	 */
	String rule() default "";

	/**
	 * 验证器
	 * @return
	 */
	Validator[] validators() default {};
}
